# Une variable pour le compilateur
CC = gcc
# Une variable regroupant les options de compilation
CFLAGS = -g -Wall `pkg-config --cflags glib-2.0`
# Une variable regroupant les options de l'édition de liens
LDFLAGS = `pkg-config --libs glib-2.0` -lssl -lcrypto
# Une variable contenant le nom des exécutables à générer
EXEC = monExecutable
# Une variable contenant la liste des fichiers sources
SRC = $(wildcard *.c)
# Une variable contenant la liste des fichiers objets
OBJ = $(SRC:.c=.o)

# $@ : Le nom de la cible
# $< : Le nom de la première dépendance
# $^ : La liste des dépendances
# $? : La liste des dépendances plus récentes que la cible
# $* : Le nom du fichier sans suffixe

all: $(EXEC)

monExecutable: $(OBJ)
	$(CC) $^ -o $@ $(LDFLAGS)

%.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

clean:
	rm *.o

mrproper: clean
	rm $(EXEC)
